import { GlobalRoot } from '../global/GlobalRoot';
import { SceneManager } from '../managers/SceneManager';

/**
 * SceneManager 功能测试用例集合
 */
export class SceneManagerTest {
    static runAll() {
        this.testLoadScene();
        this.testLoadBundleScene();
        this.testOnLaunchedCallback();
    }
    /**
     * 测试普通场景加载
     * 预期：场景切换到 Main.scene，控制台输出回调信息
     */
    static testLoadScene() {
        SceneManager.instance.loadScene({ name: 'Main', type: 'local' }, () => {
            console.log('[测试] 普通场景加载完成');
            GlobalRoot.instance.UiManager.showTips("[测试] 普通场景加载完成")

        });
    }
    /**
     * 测试bundle场景加载
     * 预期：场景切换到 testDemo bundle 下的 Main.scene，控制台输出回调信息
     */
    static testLoadBundleScene() {
        SceneManager.instance.loadScene({ name: 'Game', type: 'bundle', bundle: 'Game' }, () => {
            console.log('[测试] bundle场景加载完成');
            GlobalRoot.instance.UiManager.showTips("[测试] bundle场景加载完成")

        });
    }
    /**
     * 测试场景切换完成回调
     * 预期：切换到 Loading.scene 后，回调被调用
     */
    static testOnLaunchedCallback() {
        SceneManager.instance.loadScene({ name: 'Loading', type: 'local' }, () => {
            console.log('[测试] Loading场景加载完成，回调被调用');
            GlobalRoot.instance.UiManager.showTips("[测试] Loading场景加载完成，回调被调用")

        });
    }
} 